If you wish to write smart contracts on the Ethereum platform, then

you can do so by using its primary language called Solidity. Solidity

was initially proposed in August 2014 by Gavin Wood who is a

British computer programmer and co-founder of Ethereum. Later on,

Solidity was further developed by the Ethereum project’s Solidity

team, led by Christian Reitwiessner. Today, Solidity is not only used

as the primary language of Ethereum, but also for many other

Ethereum Virtual Machine or EVM compatible Blockchains and DLT

platforms such as Quorum, Monax, Hyperledger Burrow, and Hedera

Hashgraph.

2.5.1 Why Learn Solidity?

Now, one may wonder why there was even a need to create a new

language when we already had so many present in the market by

2014? Yes, by the time Solidity was invented, we already had quite a

few JVM languages such as Java, Scala, Ruby etc., with the

support of rich object-oriented features. Then, why Solidity?

Well, the answer is that Solidity is a special purpose language meant

to be run on the Ethereum Virtual Machine or EVM. An EVM is

architected in a very different way where most of the transactions are

associated with some monetary value. This cost calculation was not

part of any of the JVMs. Hence, Solidity filled the gap as an object-

oriented language that can run contracts on EVM.

2.5.2 Solidity vs. Who?

Please note that Solidity is not the only language in Ethereum for

writing Smart contracts. There are others such as LLL which is the

original low-level language for Ethereum and is deprecated now. We

also have Serpent which is also deprecated today. We can also

write smart contracts on Ethereum using Vyper which was released

in 2017 and currently is the latest contract language based on

Python.

Please note that we can also write smart contracts in assembly

language or low level language or opcodes which can give us more

fine-grained access to the functionalities which are more suitable for